﻿/*************************************************************************
 *    分部过滤执行器
 *    
 *   author:jinshuai
 *   email:redfox2008@126.com
 *   date:2016-05-12 
 *   blog:red-fox.cnblogs.com
 * 
 ***********************************************************************/

namespace FilterRunner
{

    /// <summary>
    ///  过虑器
    /// </summary>
  public interface IRunnerFilter<in T>
  {
      /// <summary>
      /// 过滤器执行顺序
      /// </summary>
      int Sequence { get; set; }

      /// <summary>
      /// 过滤执行
      /// </summary>
      /// <param name="targetObj"></param>
      /// <param name="isContinueRunNext"></param>
      /// <returns></returns>
      RunnerMessage Run(T targetObj, out bool isContinueRunNext);
  }
}
